﻿namespace DotRas
{
    using System;

    public sealed class StateChangedEventArgs : EventArgs
    {
        private int _callbackId;
        private int _errorCode;
        private string _errorMessage;
        private int _extendedErrorCode;
        private RasHandle _handle;
        private RasConnectionState _state;
        private int _subEntryId;

        internal StateChangedEventArgs(int callbackId, int subEntryId, RasHandle handle, RasConnectionState state, int errorCode, string errorMessage, int extendedErrorCode)
        {
            this._callbackId = callbackId;
            this._subEntryId = subEntryId;
            this._handle = handle;
            this._state = state;
            this._errorCode = errorCode;
            this._errorMessage = errorMessage;
            this._extendedErrorCode = extendedErrorCode;
        }

        public int CallbackId
        {
            get
            {
                return this._callbackId;
            }
        }

        public int ErrorCode
        {
            get
            {
                return this._errorCode;
            }
        }

        public string ErrorMessage
        {
            get
            {
                return this._errorMessage;
            }
        }

        public int ExtendedErrorCode
        {
            get
            {
                return this._extendedErrorCode;
            }
        }

        public RasHandle Handle
        {
            get
            {
                return this._handle;
            }
        }

        public RasConnectionState State
        {
            get
            {
                return this._state;
            }
        }

        public int SubEntryId
        {
            get
            {
                return this._subEntryId;
            }
        }
    }
}

